import 'dart:convert';

import 'package:ichinesereader/models/evaluation/acflLevelDescriptionResult.dart';

Map<String, dynamic> actflLevelDescriptionRaw = {
  "Novice-Low": {
    "reading": [
      {
        "summary": "",
        "contents": [""]
      }
    ],
    "writing": [
      {
        "summary": "",
        "contents": [""]
      }
    ],
    "speaking": [
      {
        "summary": "",
        "contents": [""]
      }
    ],
    "listening": [
      {
        "summary": "",
        "contents": [""]
      }
    ]
  },
  "Novice-Mid": {
    "reading": [
      {
        "summary": "Novice Mid sublevel readers are able to:",
        "contents": [
          "recognize the letters or symbols of an alphabetic or syllabic writing system or a limited number of characters in a character-based language",
          "identify a number of highly contextualized words and phrases including cognates and borrowed words but rarely understand material that exceeds a single phrase",
          "Rereading is often required"
        ]
      }
    ],
    "writing": [
      {
        "summary": "Novice Mid sublevel writers can: ",
        "contents": [
          "reproduce from memory a modest number of words and phrases in context",
          "supply limited information on simple documents and other basic biographical information, such as names, numbers, and nationality",
          "have a marked decrease in accuracy and have little evidence of functional writing skills on unfamiliar topics"
        ]
      }
    ],
    "speaking": [
      {
        "summary": "Novice Mid sublevel speakers:",
        "contents": [
          "communicate minimally by using a number of isolated words and memorized phrases limited by the particular context in which the language has been learned",
          "respond to direct questions by saying only two or three words at a time or give an occasional stock answer ",
          "pause frequently as they search for simple vocabulary or attempt to recycle their own and their interlocutor’s words",
          "frequently resort to repetition, words from their native language, or silence, and are hard to understand"
        ]
      }
    ],
    "listening": [
      {
        "summary": "Novice Mid sublevel listeners can:",
        "contents": [
          "recognize and begin to understand a number of high-frequency, highly contextualized words and phrases including aural cognates and borrowed words ",
          "typically understand little more than one phrase at a time, and repetition may be required"
        ]
      }
    ]
  },
  "Novice-High": {
    "reading": [
      {
        "summary":
            "Novice High sublevel readers can understand with relative ease:",
        "contents": [
          "key words and cognates",
          "formulaic phrases across a range of highly contextualized texts ",
          "predictable language and messages such as those found on train schedules, roadmaps, and street signs"
        ]
      },
      {
        "summary": "Readers can also:",
        "contents": [
          "derive meaning from short, non-complex texts that convey basic information for which there is contextual or extralinguistic "
        ]
      }
    ],
    "writing": [
      {
        "summary": "Novice High sublevel writers are able to:",
        "contents": [
          "meet limited basic practical writing needs using lists, short messages, postcards, and simple notes",
          "express themselves within the context in which the language was learned, relying mainly on practiced material",
          "focus on common elements of daily life and are able to recombine learned vocabulary and structures to create simple sentences on very familiar topics, but are not able to sustain sentence-level writing all the time",
          "only partially communicate their intentions due to inadequate vocabulary/or grammar."
        ]
      },
      {
        "summary": "",
        "contents": [""]
      }
    ],
    "speaking": [
      {
        "summary": "Novice High sublevel speakers are able to:",
        "contents": [
          "converse using a few of the predictable topics necessary for survival such as basic personal information, basic objects, and a limited number of activities, preferences, and immediate needs. ",
          "respond to simple, direct questions or requests for information, and ask a few formulaic questions",
          "express personal meaning by relying heavily on learned phrases or recombination of these and what they hear from their interlocutor",
          "speak primarily in short and or incomplete sentences in the present, and may be hesitant or inaccurate"
        ]
      }
    ],
    "listening": [
      {
        "summary": "Novice High sublevel listeners are able to:",
        "contents": [
          "understand some information from sentence-length speech, one utterance at a time, in basic personal and social contexts with contextual or extralinguistic support; comprehension may often be very uneven",
          "understand speech dealing with areas of practical need such as highly standardized messages, phrases, or instructions, if the vocabulary has been learned"
        ]
      }
    ]
  },
  "Interm-Low": {
    "reading": [
      {
        "summary": "Intermediate Low sublevel readers are able to understand:",
        "contents": [
          "with frequent misunderstandings, some information from the simplest connected texts dealing with a limited number of personal and social needs"
        ]
      },
      {
        "summary": "Readers will be challenged:",
        "contents": ["to derive meaning from connected texts of any length"]
      }
    ],
    "writing": [
      {
        "summary":
            "Intermediate Low sublevel writers meet some limited practical writing needs. They are able to:",
        "contents": [
          "write mostly in present time, short and simple conversational-style sentences with basic word order where most sentences are recombination of learned vocabulary and repetitive structure.",
          "write on topics of highly predictable content areas and personal information",
          "use adequate vocabulary to express elementary needs with basic errors in grammar, word choice, punctuation, and formation of characters"
        ]
      }
    ],
    "speaking": [
      {
        "summary": "Intermediate Low sublevel speakers: ",
        "contents": [
          "express personal meaning by combining and recombining what they know and what they hear into short statements and discrete sentences ",
          "can handle successfully a limited number of uncomplicated communicative tasks in straightforward social situations",
          "can converse in some of the concrete exchanges and predictable basic personal topics about self and family, some daily activities and personal preferences, and some immediate needs, such as ordering food and making simple purchases",
          "are primarily reactive and struggle to answer direct questions or requests for information; responses are often filled with frequent pauses, inaccuracies, and self-corrections as they search for appropriate linguistic forms and vocabulary while attempting to give form to the message",
          "are strongly influenced by their first language in their pronunciation, vocabulary and syntax.",
          "can generally be understood by sympathetic interlocutors, particularly by those accustomed to dealing with non-natives"
        ]
      }
    ],
    "listening": [
      {
        "summary": "Intermediate Low sublevel listeners are able to:",
        "contents": [
          "understand some information from sentence-length speech, one utterance at a time, in basic personal and social contexts; comprehension is often uneven"
        ]
      }
    ]
  },
  "Interm-Mid": {
    "reading": [
      {
        "summary": "Intermediate Mid sublevel readers are able to understand:",
        "contents": [
          "short, non-complex texts that convey basic information ",
          "with some misunderstandings, basic personal and social topics to which the reader brings personal interest or knowledge",
          "some meaning from short connected texts featuring description and narration, dealing with familiar topics"
        ]
      }
    ],
    "writing": [
      {
        "summary":
            "Intermediate Mid sublevel writers are able to meet a number of practical writing needs. They are able to:",
        "contents": [
          "write short, simple communications, compositions, and requests for information in loosely connected texts about personal preferences, daily routines, common events, and other personal topics",
          "write in present time but may contain references to other time frames, usually imitating a conversation",
          "show evidence of control of basic sentence structure and verb forms which looks like a collection of discrete sentences and/or questions loosely strung together with little organization."
        ]
      }
    ],
    "speaking": [
      {
        "summary": "Intermediate Mid sublevel speakers are able to:",
        "contents": [
          "handle successfully a variety of uncomplicated communicative tasks in straightforward social situations",
          "converse in predictable and concrete exchanges necessary for survival including personal information related to self, family, home, daily activities, interests and personal preferences, as well as physical and social needs, such as food, shopping, travel, and lodging",
          "function reactively, by responding to direct questions or requests for information, but cna also ask a variety of questions when necessary to obtain simple information to satisfy basic needs, such as directions, prices, and services ",
          "provide some information but have difficulty linking ideas, manipulating time and aspect, and using communicative strategies, such as circumlocution.",
          "produce responses typically consisting of sentences and strings of sentences with pauses, reformulations, and self-corrections as they search for adequate vocabulary and appropriate language forms to express themselves."
        ]
      }
    ],
    "listening": [
      {
        "summary": "Intermediate Mid sublevel listeners are able to:",
        "contents": [
          "understand simple, sentence-length speech, one utterance at a time, in a variety of basic personal and social contexts",
          "Comprehend highly familiar and predictable topics although a few misunderstandings may occur"
        ]
      }
    ]
  },
  "Interm-High": {
    "reading": [
      {
        "summary": "Intermediate High sublevel readers are able to:",
        "contents": [
          "understand, with relative ease, short, non-complex texts that convey basic information ",
          "deal with personal and social topics to which the reader brings personal interest or knowledge",
          "understand some connected texts featuring description and narration although there will be occasional gaps in understanding due to a limited knowledge of the vocabulary, structures, and writing conventions of the language"
        ]
      }
    ],
    "writing": [
      {
        "summary":
            "Intermediate High sublevel writers are able to meet all practical writing needs of the Intermediate level. They are able to:",
        "contents": [
          "write compositions and simple summaries related to work and/or school experiences",
          "narrate and describe in different time frames when writing about everyday events and situations",
          "often, but not always, write in paragraph length with some inconsistency in organization, resulting in a loss of clarity",
          "have grammar and style that correspond to those of the spoken language"
        ]
      }
    ],
    "speaking": [
      {
        "summary": "Intermediate High speakers are able to:",
        "contents": [
          "converse with ease and confidence when dealing with the routine tasks and social situations of the Intermediate level",
          "handle successfully uncomplicated tasks and social situations requiring an exchange of basic information related to their work, school, recreation, particular interests, and areas of competence",
          "narrate and describe in all major time frames using connected discourse of paragraph length, but not all the time",
          "generally be understood by native speakers unaccustomed to dealing with non-natives, although interference from another language may be evident (e.g., use of code-switching, false cognates, literal translations), and a pattern of gaps in communication may occur"
        ]
      }
    ],
    "listening": [
      {
        "summary": "Intermediate High sublevel listeners are able to:",
        "contents": [
          "understand, with ease and confidence, simple sentence-length speech in basic personal and social contexts. ",
          "derive substantial meaning from some connected texts typically understood by Advanced-level listeners although there often will be gaps in understanding due to a limited knowledge of the vocabulary and structures of the spoken language."
        ]
      }
    ]
  },
  "Adv-Low": {
    "reading": [
      {
        "summary": "Advanced Low sublevel readers are able to understand:",
        "contents": [
          "conventional narrative and descriptive texts with a clear underlying structure though their comprehension may be uneven",
          "text with high-frequency vocabulary and structures",
          "main ideas and some supporting details with comprehension often derived primarily from situational and subject-matter knowledge"
        ]
      },
      {
        "summary": "Readers will be challenged:",
        "contents": ["to comprehend more complex texts"]
      }
    ],
    "writing": [
      {
        "summary":
            "Advanced Low sublevel writers are able to meet basic work and/or academic writing needs. They are able to:",
        "contents": [
          "demonstrate the ability to narrate and describe in major time frames with some control of aspect",
          "compose simple summaries on familiar topics into paragraph length and structure, but rely on patterns of oral discourse and the writing style of their first language",
          "demonstrate the ability to incorporate a limited number of cohesive devices, and may resort to some redundancy and awkward repetition"
        ]
      }
    ],
    "speaking": [
      {
        "summary": "Advanced Low sublevel speakers are able to:",
        "contents": [
          "participate in most informal and some formal conversations on topics related to school, home, and leisure activities",
          "speak about some topics related to employment, current events, and matters of public and community interest",
          "narrate and describe in the major time frames of past, present, and future in paragraph-length discourse with some control of aspect",
          "able to combine and link sentences into connected discourse of paragraph length, although these narrations and descriptions tend to be handled separately rather than interwoven",
          "handle appropriately the essential linguistic challenges presented by a complication or an unexpected turn of events",
          "contribute to the conversation with sufficient accuracy, clarity, and precision to convey their intended message without misrepresentation or confusion",
          "be understood by native speakers unaccustomed to dealing with non-natives, even though this may require some repetition or restatement",
          "use communicative strategies such as rephrasing and circumlocution although speech is typically marked by a certain grammatical roughness (e.g., inconsistent control of verb endings)"
        ]
      }
    ],
    "listening": [
      {
        "summary": "Advanced Low sublevel listeners are able to:",
        "contents": [
          "understand short conventional narrative and descriptive texts with a clear underlying structure; comprehension may be uneven",
          "understand the main facts and some supporting details",
          "Comprehension may often derive primarily from situational and subject-matter knowledge."
        ]
      }
    ]
  },
  "Adv-high": {
    "reading": [
      {
        "summary": "",
        "contents": [""]
      }
    ],
    "writing": [
      {
        "summary": "",
        "contents": [""]
      }
    ],
    "speaking": [
      {
        "summary": "",
        "contents": [""]
      }
    ],
    "listening": [
      {
        "summary": "",
        "contents": [""]
      }
    ]
  }
};
Map<String, dynamic> actflLevelStrategyRaw = {
  "Novice-Low": {
    "reading": [
      {
        "summary": "",
        "contents": [""]
      }
    ],
    "writing": [
      {
        "summary": "",
        "contents": [""]
      }
    ],
    "speaking": [
      {
        "summary": "",
        "contents": [""]
      }
    ],
    "listening": [
      {
        "summary": "",
        "contents": [""]
      }
    ]
  },
  "Novice-Mid": {
    "reading": [
      {
        "summary": "Strategies for Novice Mid readers:",
        "contents": [
          "read novice level books daily",
          "learn high frequency words",
          "use context & visual clues for comprehension",
          "make connections between prior knowledge and the text"
        ]
      }
    ],
    "writing": [
      {
        "summary": "Strategies for Novice Mid writers:",
        "contents": [
          "learn characters, words, and simple phrases through reading",
          "copy and memorize simple words and phrases",
          "use repetition to familiarize the usage of words and phrases"
        ]
      }
    ],
    "speaking": [
      {
        "summary": "Strategies for Novice Mid speakers:",
        "contents": [
          "memorize high frequency words and phrases",
          "practice saying simple phrases and words aloud",
          "practice having a simple conversation about daily events with friends and family",
          "practice asking simple questions"
        ]
      }
    ],
    "listening": [
      {
        "summary": "Strategies for Novice Mid listeners:",
        "contents": [
          "learn more high-frequency words and everyday phrases",
          "listen to simple Chinese audio stories and simple conversations regarding daily life and social events"
        ]
      }
    ]
  },
  "Novice-High": {
    "reading": [
      {
        "summary": "Strategies for Novice High readers:",
        "contents": [
          "learn high frequency words",
          "use context & visual clues",
          "make connections between:text-self,text-text,text-world",
          "read books from this level"
        ]
      }
    ],
    "writing": [
      {
        "summary": "Strategies for Novice High writers:",
        "contents": [
          "learn characters, words, and simple phrases through reading",
          "copy and memorize simple words and phrases",
          "use repetition to familiarize the usage of words and phrases",
          "practice writing short, complete sentences using proper structure and grammar"
        ]
      }
    ],
    "speaking": [
      {
        "summary": "Strategies for Novice High speakers:",
        "contents": [
          "memorize high frequency words and phrases",
          "practice saying simple phrases and words aloud",
          "practice having a simple conversation about daily events with friends and family",
          "practice asking simple questions",
          "practice tones"
        ]
      }
    ],
    "listening": [
      {
        "summary": "Strategies for Novice High listeners:",
        "contents": [
          "learn more high-frequency words and everyday phrases",
          "listen to simple Chinese audio stories and simple conversations regarding daily life and social events"
        ]
      }
    ]
  },
  "Interm-Low": {
    "reading": [
      {
        "summary": "Strategies for Intermediate Low readers:",
        "contents": [
          "learn high frequency words",
          "recognize radicals",
          "use context & visual clues",
          "make connections between:text-self, text-text,text-world",
          "read books from this level",
          "predict meaning based on prior knowledge, context, and/or experience"
        ]
      }
    ],
    "writing": [
      {
        "summary": "Strategies for Intermediate Low writers:",
        "contents": [
          "learn characters, words, and simple phrases through reading",
          "copy and memorize simple words and phrases",
          "use repetition to familiarize the usage of words and phrases",
          "recite and dictate simple text",
          "practice writing short, complete sentences using proper structure and grammar",
          "use graphic organizer"
        ]
      }
    ],
    "speaking": [
      {
        "summary": "Strategies for Intermediate Low speakers:",
        "contents": [
          "ask questions for clarification",
          "self-correct or restate when not understand",
          "use known language to compensate for missing vocabulary",
          "engage in conversations about daily events such as school, work, or shopping"
        ]
      }
    ],
    "listening": [
      {
        "summary": "Strategies for Intermediate Low listeners:",
        "contents": [
          "learn more high-frequency words and everyday phrases",
          "use context clues and prior knowledge to predict meaning",
          "listen to authentic current events or easy Chinese audio books",
          "retell stories or daily events"
        ]
      }
    ]
  },
  "Interm-Mid": {
    "reading": [
      {
        "summary": "Strategies for Intermediate Mid readers:",
        "contents": [
          "learn high frequency words",
          "learn more radicals",
          "use context & visual clues",
          "make connections between:text-self, text-text, text-world",
          "read books from this level",
          "predict meaning based on prior knowledge, context, and/or experience"
        ]
      }
    ],
    "writing": [
      {
        "summary": "Strategies for Intermediate Mid writers:",
        "contents": [
          "learn characters, words, and simple phrases through reading",
          "copy and memorize simple words and phrases from sample texts",
          "use repetition to familiarize the usage of words and phrases",
          "practice writing short, complete sentences using proper structure and grammar",
          "use graphic organizer",
          "show, don’t tell"
        ]
      }
    ],
    "speaking": [
      {
        "summary": "Strategies for Intermediate Mid speakers:",
        "contents": [
          "ask questions for clarification",
          "self-correct or restate when not understand",
          "use known language to compensate for missing vocabulary",
          "engage in conversations about daily events such as school, work, or shopping",
          "practice tones and inflections when speaking"
        ]
      }
    ],
    "listening": [
      {
        "summary": "Strategies for Intermediate Mid listeners:",
        "contents": [
          "learn more high-frequency words and everyday phrases",
          "use context clues and prior knowledge to predict meaning",
          "listen to authentic current events or easy Chinese audio books",
          "retell stories or daily events"
        ]
      }
    ]
  },
  "Interm-High": {
    "reading": [
      {
        "summary": "Strategies for Intermediate High readers:",
        "contents": [
          "learn more radicals & vocabulary",
          "use context & visual clues to draw inferences",
          "make connections between:text-self, text-text, text-world",
          "read books from this level",
          "predict meaning based on prior knowledge, context, and/or experience"
        ]
      }
    ],
    "writing": [
      {
        "summary": "Strategies for Intermediate High writers:",
        "contents": [
          "learn characters, words, and simple phrases through reading",
          "use repetition to familiarize the usage of words and phrases",
          "practice writing longer sentences using proper structure and grammar",
          "use graphic organizer",
        ]
      }
    ],
    "speaking": [
      {
        "summary": "Strategies for Intermediate High speakers:",
        "contents": [
          "ask questions for clarification",
          "self-correct or restate when not understand",
          "use known language to compensate for missing vocabulary",
          "engage in conversations about daily events such as school, work, or shopping",
          "practice tones and inflections when speaking"
        ]
      }
    ],
    "listening": [
      {
        "summary": "Strategies for Intermediate High listeners:",
        "contents": [
          "learn more high-frequency words and everyday phrases",
          "use context clues and prior knowledge to predict meaning",
          "listen to authentic current events or easy Chinese audio books",
          "retell stories or daily events"
        ]
      }
    ]
  },
  "Adv-Low": {
    "reading": [
      {
        "summary": "Strategies for Advanced Low readers:",
        "contents": [
          "learn more radicals & vocabulary",
          "use context & visual clues to make predictions, draw inferences, and synthesize information",
          "make connections between:text-self, text-text, text-world",
          "read books from this level",
        ]
      }
    ],
    "writing": [
      {
        "summary": "Strategies for Advance Low writers:",
        "contents": [
          "learn characters, words, and simple phrases through reading",
          "use repetition to familiarize the usage of words and phrases",
          "practice writing longer sentences using proper structure and grammar",
          "use graphic organizer",
          "use transitional words to connect sentences together"
        ]
      }
    ],
    "speaking": [
      {
        "summary": "Strategies for Advanced Low speakers:",
        "contents": [
          "ask questions for clarification",
          "self-correct or restate when not understand",
          "use known language to compensate for missing vocabulary",
          "engage in longer conversations about daily events such as school, work, or shopping using longer sentences",
          "use transitional words to help link sentences together in conversation",
          "practice tones and inflections when speaking"
        ]
      }
    ],
    "listening": [
      {
        "summary": "Strategies for Advanced Low listeners:",
        "contents": [
          "learn more vocabulary, phrases, and idioms",
          "use context clues, prior knowledge/experience to predict meaning",
          "listen to authentic current events or easy Chinese audio books",
          "retell stories or daily events"
        ]
      }
    ]
  },
  "Adv-high": {
    "reading": [
      {"summary": "", "contents": []}
    ],
    "writing": [
      {"summary": "", "contents": []}
    ],
    "speaking": [
      {"summary": "", "contents": []}
    ],
    "listening": [
      {"summary": "", "contents": []}
    ]
  }
};

List<Map<String, dynamic>> actflLevelSuggestRaw = [
  {
    "reading": [
      {
        "summary":
            "Results indicate the student is approaching the level. They need to continue to read daily and learn high frequency words to improve their reading skills.",
        "contents": []
      }
    ],
    "writing": [
      {"summary": "", "contents": []}
    ],
    "speaking": [
      {
        "summary":
            "Results indicate the student is approaching the level. To improve their speaking skills, they need to practice saying simple phrases, words, and sentences.",
        "contents": []
      }
    ],
    "listening": [
      {
        "summary":
            "Results indicate the student is approaching the level. They need to continue to listen to simple stories and conversations on a daily basis. ",
        "contents": []
      }
    ]
  },
  {
    "reading": [
      {
        "summary":
            "Results indicate the student is at the level. Continue to read books on a daily basis which will help with building vocabulary and comprehension skills.",
        "contents": []
      }
    ],
    "writing": [
      {
        "summary":
            "Results indicate the student is at level. Continue to practice writing on a daily basis using proper phrases, sentence structures, and grammar. With practice, their writing skills will continue to improve.",
        "contents": []
      }
    ],
    "speaking": [
      {
        "summary":
            "Results indicate the student is at level. Continue to practice asking questions and having simple conversations about daily events with family and friends.",
        "contents": []
      }
    ],
    "listening": [
      {
        "summary":
            "Results indicate the student is at level. Continue to listen to recordings of simple stories and conversations regarding daily life and current events to strengthen listening skills.",
        "contents": []
      }
    ]
  },
  {
    "reading": [
      {
        "summary":
            "Results indicate the student is above level. They are ready to read more challenging books. Mix in fun books along with harder books to challenge them. Continue to read on a daily basis. ",
        "contents": []
      }
    ],
    "writing": [
      {
        "summary":
            "Results indicate the student is above level. Continue to have their practice writing on a daily basis. To challenge themselves, they can keep a daily writing journal where they can practice writing short paragraphs, stories, poems, or recording daily events.",
        "contents": []
      }
    ],
    "speaking": [
      {
        "summary":
            "Results indicate the student is above level. Challenge them to hold longer conversations with friends and family. ",
        "contents": []
      }
    ],
    "listening": [
      {
        "summary":
            "Results indicate the student is above level. Continue to have their listen to recordings of stories and current events of their choice along with more challenging recordings that may introduce more phrases and idioms.  ",
        "contents": []
      }
    ]
  },
];

class Description {
  static ActflLevelDescriptionResult actflLevelDescription =
      actflLevelDescriptionResultFromJson(
          json.encode(actflLevelDescriptionRaw));
  static ActflLevelDescriptionResult actflLevelStrategy =
      actflLevelDescriptionResultFromJson(json.encode(actflLevelStrategyRaw));

  static List<ActflLevelDescriptionData> actflLevelSuggest =
      actflLevelSuggestRaw
          .map((e) => ActflLevelDescriptionData.fromJson(e))
          .toList();
}
